'''
    用装饰器装修2个函数，分别执行2个函数，看输出情况
'''


# 导入时间模块
import time

# 定义装饰器comput_runtime
def comput_runtime(funcName):
    # 函数run被装饰之后的新方法，能够计算run的运行时间
    def wrapper(*wrap,**kw):
        start_time=time.time()      # 打印函数运行开始时间
        print(funcName,'函数运行开始时间为：',start_time)

        funcName(*wrap,**kw)        #运行被装饰的函数

        stop_time=time.time()       #打印函数运行停止时间
        print(funcName,'函数运行停止时间为：',stop_time)

        print('%s函数运行了%f 秒'%(funcName,stop_time-start_time))

    # 回调装饰函数
    return wrapper


@comput_runtime
# 被装饰函数run01,一个参数
def run01(y):
    time.sleep(1)                       # 休眠1秒钟
    l = [x*x*y for x in range(20)]     # 生成数组l
    print(l)


@comput_runtime
# 被装饰函数run02,两个参数
def run02(y,z):
    time.sleep(1)                       #休眠1秒
    l = [x*x*y for x in range(z)]       #生成数组l
    print(l)


run01(3)
print('='*90)
run02(3,10)

